﻿using DocumentFormat.OpenXml.Lite.Shared;
using DocumentFormat.OpenXml.Lite.Xml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace DocumentFormat.OpenXml.Lite.DrawingML.Chart.Properties
{
    [XmlRoot("headerFooter", Namespace = Constants.Chart)]
    public class HeaderFooter : XmlSerializable
    {
        [Optional]
        [XmlAttribute("alignWithMargins", Form = XmlSchemaForm.Qualified)]
        public Nullable<bool> AlignWithMargins { get; set; }

        [Optional]
        [XmlAttribute("differentOddEven", Form = XmlSchemaForm.Qualified)]
        public Nullable<bool> DifferentOddEven { get; set; }

        [Optional]
        [XmlAttribute("differentFirst", Form = XmlSchemaForm.Qualified)]
        public Nullable<bool> DifferentFirst { get; set; }

        [Optional]
        [XmlElement("oddHeader", Namespace = Constants.Chart)]
        public SimpleText OddHeader { get; set; }

        [Optional]
        [XmlElement("oddFooter", Namespace = Constants.Chart)]
        public SimpleText OddFooter { get; set; }

        [Optional]
        [XmlElement("evenHeader", Namespace = Constants.Chart)]
        public SimpleText EvenHeader { get; set; }

        [Optional]
        [XmlElement("evenFooter", Namespace = Constants.Chart)]
        public SimpleText EvenFooter { get; set; }

        [Optional]
        [XmlElement("firstHeader", Namespace = Constants.Chart)]
        public SimpleText FirstHeader { get; set; }

        [Optional]
        [XmlElement("firstFooter", Namespace = Constants.Chart)]
        public SimpleText FirstFooter { get; set; }

        public HeaderFooter() { }
    }
}
